/**
 * 8. 字典和散列表
 * 8.1 字典
 * 8.1.1 创建字典类
 *      1. 检测一个键是否存在于字典中
 *      2. 在字典和 ValuePair 类中设置键和值
 *      3. 从字典中移除一个值
 *      4. 从字典中检索一个值
 *      5. keys values 和 valuePairs 方法
 *      6. 用 forEach 迭代字典中的 每个键值对
 *      7. clear size isEmpty 和 toString 方法
 * 8.1.2 使用 Dictionary 类
 * 8.2 散列表
 * 8.2.1 创建散列表
 *      1. 创建散列函数
 *      2. 将键和值加入散列表
 *      3. 从散列表中获取一个值
 *      4. 从散列表中移除一个值
 * 8.2.2 使用 HashTable 类
 * 8.2.3 散列表 和 散列集合
 * 8.2.4 处理散列表中的冲突
 *      1. 分离链接
 *          put方法
 *          get方法
 *          remove方法
 *      2. 线性探查
 *           put方法
 *          get方法
 *          remove方法
 * 8.2.5 创建更好的散列函数
 * 8.3 ES2015 Map 类
 * 8.4 ES2015 WeakMap类 和 WeakSet 类
 * 
 */